package com.shurdroides.proyectofinal;

import java.util.List;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;

import com.google.android.c2dm.C2DMBaseReceiver;
import com.shurdroides.proyectofinal.activities.MapaActivity;
import com.shurdroides.proyectofinal.preferences.MyPreferences;
import com.shurdroides.proyectofinal.server.HttpUtils;
import com.shurdroides.proyectofinal.utils.Utils;

public class C2DMReceiver extends C2DMBaseReceiver {

	public C2DMReceiver() {
		super(DeviceRegistrar.SENDER_ID);
	}

	@Override
	public void onRegistrered(Context context, String registration) {
		DeviceRegistrar.registerWithServer(context, registration);
	}

	@Override
	public void onUnregistered(Context context) {
		MyPreferences preferencias = new MyPreferences(context);
		String deviceRegistrationID = preferencias.getDeviceRegistration();
		DeviceRegistrar.unregisterWithServer(context, deviceRegistrationID);
	}

	@Override
	public void onError(Context context, String errorId) {
		context.sendBroadcast(new Intent(
				"com.shurdroides.proyectofinal.UPDATE_UI"));
	}

	@Override
	public void onMessage(Context context, Intent intent) {
		Bundle extras = intent.getExtras();
		if (extras != null) {
			String cadena = extras.getString("action");
			String mensaje = extras.getString("mensaje");
			if ("-1".equals(cadena)) {
//				String s=HttpUtils.getJsonNuevasPosicionesRecibido(context);
//				if (s!=null)
//				MapaActivity.refreshItems(s);
			}
			else if ("5".equals(cadena)){
				Utils.createNotificationMessage(context,Utils.ponerEspacios(mensaje));
			}
		}
	}

	public static boolean isIntentAvailable(Context context, Intent intent) {
		final PackageManager packageManager = context.getPackageManager();
		List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
				PackageManager.MATCH_DEFAULT_ONLY);
		return list.size() > 0;
	}

}
